function bindEmailCaptchaClick() {
    $("#captcha-btn").click(function (event) {
        var button = $(this);
        event.preventDefault();

        // 检查按钮是否已禁用（防止重复点击）
        if (button.prop("disabled")) {
            return;
        }

        // 获取 Email 值
        var email = $("#email").val();
        if (!email) {
            alert("请输入邮箱地址");
            return;
        }

        // 禁用按钮
        button.prop("disabled", true);

        // 发送验证码请求
        $.get("/auth/captcha/email?email=" + email, function (result) {
            console.log("后端返回:", result);
            var code = result['code'];
            if (code == 200) {
                // 开始倒计时
                var countdown = 60;
                var timer = setInterval(function () {
                    countdown -= 1;
                    button.val(countdown + "秒后重新发送");
                    if (countdown <= 0) {
                        clearInterval(timer);
                        button.prop("disabled", false); // 启用按钮
                        button.val("发送验证码");
                    }
                }, 1000);
            } else {
                button.prop("disabled", false); // 启用按钮
                alert(result['message']);
            }
        }).fail(function () {
            button.prop("disabled", false); // 启用按钮
            alert("网络异常");
        });
    });
}

// 确保在页面加载时绑定事件
$(document).ready(function () {
    bindEmailCaptchaClick();
});

// 注册表单的 AJAX 提交
$(document).ready(function () {
    $('#register-form form').submit(function (event) {
        event.preventDefault(); // 阻止默认提交行为
        var formData = $(this).serialize(); // 收集表单数据
        console.log(formData); // 打印表单数据
        $.post('/auth/register', formData)
            .done(function (response) {
                console.log(response); // 打印后端返回的响应
                if (response.code === 200) {
                    alert('注册成功，请登录！'); // 弹出提示
                    showLogin(); // 切换到登录表单
                } else {
                    var errorMessage = '';
                    if (typeof response.message === 'string') {
                        errorMessage = response.message; // 如果是字符串，直接使用
                    } else if (typeof response.message === 'object') {
                        // 如果是对象，只提取第一个错误信息
                        var firstErrorKey = Object.keys(response.message)[0]; // 获取第一个错误的键
                        errorMessage = response.message[firstErrorKey]; // 获取第一个错误的值
                    }
                    alert('注册失败：' + errorMessage); // 弹出错误信息
                }
            })
            .fail(function () {
                alert('网络错误，请重试！'); // 网络错误提示
            });
    });
});


// 登录表单提交处理
$('#login-form form').submit(function(e) {
    e.preventDefault();
    $.ajax({
        url: $(this).attr('action'),
        method: 'POST',
        data: $(this).serialize(),
        success: function(response) {
            if (response.code === 200) {
                window.location.href = response.redirect; // 跳转到首页
            } else {
                $('#login-error').text(response.message).show();
            }
        }
    });
});

function refreshCaptcha() {
    var captchaImage = document.getElementById('captcha-image');
    captchaImage.src = "/auth/captcha/image?" + new Date().getTime(); // 添加时间戳防止缓存
}

// 确保在页面加载时绑定事件
$(document).ready(function () {
    bindEmailCaptchaClick();
    refreshCaptcha(); // 初始加载验证码
});